package com.dc.project.service;

import com.dc.project.entity.bo.TemplateDetailAttachmentFieldBo;
import com.dc.project.entity.map.TemplateDetailAttachmentFieldMapVo;
import com.dc.project.entity.po.TemplateDetailAttachmentField;
import com.dc.project.entity.query.TemplateDetailAttachmentFieldQuery;
import com.dc.project.entity.vo.TemplateDetailAttachmentFieldVo;
import com.own.component.common.base.service.BaseService;
import com.own.util.list.TreeNode;

import java.util.List;

/**
 * TemplateDetailAttachmentFieldService
 *
 * @author chenxueli
 * @date 2025-03-19 13:23:08
 */
public interface TemplateDetailAttachmentFieldService extends BaseService<
        TemplateDetailAttachmentField,
        TemplateDetailAttachmentFieldBo,
        TemplateDetailAttachmentFieldVo,
        TemplateDetailAttachmentFieldMapVo,
        TemplateDetailAttachmentFieldQuery
        > {

    /**
     * 根据附件id查询附件字段列表
     *
     * @param attachmentId 附件id
     * @return 附件字段列表
     */
    List<TemplateDetailAttachmentField> listByAttachmentId(Long attachmentId);

    /**
     * 获取字段树
     *
     * @param query 查询条件
     * @return 字段树
     */
    List<TreeNode<TemplateDetailAttachmentFieldMapVo>> tree(TemplateDetailAttachmentFieldQuery query);
}

